home *** CD-ROM | disk | FTP | other *** search
/ El Mac 8 / El Mac 8.iso / Shareware / Sound / MGProfCompiler 1.2.1 / Documents / English / notes⁄manual
Encoding:
Text File  |  1996-04-12  |  22.7 KB  |  582 lines  |  [TEXT/AEDT]

  1. ------------------------------------------------------------------------------
  2.        MG Profile Compiler Ver.1.2.1 / Release Notes (English edition)
  3.                        Copyright (c) 1993-96 by TONTATA
  4. ------------------------------------------------------------------------------
  5.               Created by TONTATA (a member of JIRAIYA AIKOU-KAI)
  6.                 NIFTY-Serve : NCA02217
  7.                 Internet    : NCA02217@niftyserve.or.jp
  8.                               mmaeda@ca2.so-net.or.jp
  9.                 Home Page   : http://ux01.so-net.or.jp/~mmaeda/
  10. ------------------------------------------------------------------------------
  11. BRIEF DESCRIPTION
  12.  
  13.    MG Profile Compiler is an application for Macontosh that allows you to 
  14. make sound device profiles for MIDIGraphy. It compiles source text files, and 
  15. then generates sound device profiles. For comments, suggestions or bug 
  16. reports, please send mail to me: 
  17.  
  18.                                   NIFTY-Serve : NCA02217 
  19.                                      Internet : NCA02217@niftyserve.or.jp 
  20.  
  21. ------------------------------------------------------------------------------
  22. NOTES
  23.  
  24.   - The "Users' Manual" follows this "release notes" in this file. Please 
  25.     read the "Users' Manual" before you use this software. 
  26.   - There are some regulations to distribute data created by using this 
  27.     software. For details, refer the section "DISTRIBUTION". 
  28.  
  29. ------------------------------------------------------------------------------
  30. SYSTEM REQUIREMENTS
  31.  
  32.   - MG Profile Compiler works under System 7.0 or later. It has not been 
  33.     tested under erlier version of system software. 
  34.  
  35. ------------------------------------------------------------------------------
  36. LICENCE
  37.  
  38.   - This package is an optional package of MIDIGraphy package which is 
  39.     separately distributed. There are some diferences in lincencing 
  40.     regulations for these two packages. 
  41.   - MIDIGraphy package is the shareware. If you think a combination of two 
  42.     packages (MIDIGraphy package and this package) is worth paying for, 
  43.     please send me a shareware fee. Detail descriptions about a shareware fee 
  44.     of MIDIGraphy are in the release notes provided with MIDIGraphy package. 
  45.   - If you have already paid a shareware fee for any version of MIDIGraphy 
  46.     package, you don't have to pay any more fee for this package. 
  47.  
  48. ------------------------------------------------------------------------------
  49. DISTRIBUTION
  50.  
  51.   - MG Profile Compiler is free to a non-commercial distribution. Please keep 
  52.     package contents (including accompaning written materials) uncahnged. 
  53.     When you post MG Profile Compiler on sites or BBSs, please let me know 
  54.     where you post it on. 
  55.   - A prior permission is required for a commercial distribution. As a rule, 
  56.     a commercial distribution requres the following terms. 
  57.       a. Price is not unreasonable. 
  58.       b. Any right or responsibility is not transferred. 
  59.       c. Not any changes from the author's original package are allowed. (An 
  60.          extracting archives or a re-compressing whole of package contents 
  61.          is admitted.) 
  62.       d. One set of distribution is provided to the author who keeps it in 
  63.          his custody. 
  64.   - To use MG Profile Compiler for commercial purposes, a prior permission by 
  65.     the author is necessary. 
  66.   - To use data created by using MG Profile Compiler for commercial purposes, 
  67.     a prior permission is necessary. 
  68.  
  69.   - It is prohibited to distribute data which created using a sample file 
  70.     without modification. 
  71.   - If you distribute data which created using a sample file with some 
  72.     mofications, you must also modify it's copyright description. The 
  73.     distribution with copyright description as "Copyright (c) by TONATA" is 
  74.     prohibited. 
  75.  
  76. ------------------------------------------------------------------------------
  77. COPYRIGHT
  78.  
  79.   - MG Profile Compiler and accompanying written materials are copyrighted 
  80.     1993-96 by author TONTATA. 
  81.  
  82. ------------------------------------------------------------------------------
  83. WARRANTY
  84.  
  85.   - MG Profile Compiler and accompanying written materials are provided 
  86.     "as is" without warranty of any kind. Any damage caused by using or 
  87.     imposibility to use this software or accompanying written materials is 
  88.     the responsibiity of the user. 
  89.   - By using MG Profile Compiler and accompanying written materials, you can 
  90.     freely produce and distribute data or software in case regulations for a 
  91.     distribution are not violated. However, any damage or trouble caused by 
  92.     the distribution or by using materials distributed is the responsibility 
  93.     of the user. 
  94.   - Specifications for software interface between MIDIGraphy and profiles 
  95.     might be changed without notification to users. 
  96.  
  97.  
  98. ------------------------------------------------------------------------------
  99. VERSION HISTORY
  100.  
  101. Ver.1.2.1 (1996/04/12 posted on NIFTY-Serve FMIDITOL/FMACPRO)
  102.   - The source file for QTMI Profile is newly included. 
  103.   - Now English document is available (yes, this file). 
  104.  
  105. Ver.1.2.0 (1996/03/20 posted on NIFTY-Serve FMIDITOL/FMACPRO)
  106. Ver.1.1.1 (1996/02/12 posted on NIFTY-Serve FMIDITOL/FMACPRO)
  107. Ver.1.0.5 (1995/11/18 posted on NIFTY-Serve FMIDITOL)
  108. Ver.0.9.0 (1995/11/04 "Beta Version" posted on NIFTY-Serve FMIDITOL)
  109.  
  110. ------------------------------------------------------------------------------
  111. * English is not my native language. If you find spelling or grammatical 
  112.   mistakes in my documents or messages of my program, please inform me. 
  113.  
  114. ------------------------------------------------------------------------------
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127. ------------------------------------------------------------------------------
  128.        MG Profile Compiler Ver.1.2.1 / Users' Manual (English edition)
  129.                        Copyright (c) 1993-96 by TONTATA
  130. ------------------------------------------------------------------------------
  131.               Created by TONTATA (a member of JIRAIYA AIKOU-KAI)
  132.                 NIFTY-Serve : NCA02217
  133.                 Internet    : NCA02217@niftyserve.or.jp
  134.                               mmaeda@ca2.so-net.or.jp
  135.                 Home Page   : http://ux01.so-net.or.jp/~mmaeda/
  136. ------------------------------------------------------------------------------
  137.  
  138.  
  139. TABLE OF CONTENTS
  140. ~~~~~~~~~~~~~~~~~
  141.     1. Abstract
  142.     2. Usage
  143.         2.1. How To Install
  144.         2.2. How To Compile
  145.         2.3. Error Messages
  146.  
  147.     A. MGPC Syntax
  148.         A1. Preprocessing
  149.             A1.1. Comments
  150.             A1.2. File Inclusion
  151.             A1.3. Simbol Substitutions
  152.         A2. Expressions
  153.             A2.1. String Expressions
  154.             A2.2. Numeric Value Expressions
  155.             A2.3. File Path Expressions
  156.         A3. Statements
  157.             A3.1. Profile Description Statements
  158.             A3.2. Resource Description Statements
  159.                 A3.2.1. 'vers' Description Statements
  160.                 A3.2.2. 'PNam' Description Statements
  161.                 A3.2.3. 'NNam' Description Statements
  162.                 A3.2.4. 'Midi' Description Statements
  163.                 A3.2.5. 'Mid#' Description Statements
  164.                 A3.2.6. 'Exdf' Description Statements
  165.  
  166.  
  167.  
  168. ------------------------------------------------------------------------------
  169. 1. Abstract
  170. ~~~~~~~~~~~
  171.    MG Profile Compiler is an application for Macontosh that allows you to 
  172. make sound device profiles for MIDIGraphy. It compiles source text files, and 
  173. then generates sound device profiles. By using MG Profile Compiler, you can 
  174. create following resources: 
  175.     - 'vers': A resource contains version and copyright descriptions.
  176.     - 'PNam': A resource contains a program name list. 
  177.     - 'NNam': A resource conatins a note name list. 
  178.     - 'Midi': A resource contains directly output MIDI data. 
  179.     - 'Mid#': A resource contains a list of 'Midi'. 
  180.     - 'Exdf': A resource contains a system exclusive filter. 
  181.  
  182.  
  183. 2. Usage
  184. ~~~~~~~~
  185. 2.1. How To Install
  186.  
  187.     This package contains following files:
  188.  
  189.     MGPC folder
  190.      +- MGProfCompiler  : MG Profile Compiler application. 
  191.      +- mgpc.doc        : this file. 
  192.      +- profile sources : the folder contains sample source files. 
  193.          +- ***.s       : sample source files. 
  194.  
  195.     You can install these files any whare you like in your hard disk. 
  196.  
  197.  
  198. 2.2. How To Compile
  199.  
  200.     MG Profile Compiler compiles source text file then generates profiles. To 
  201. edit source text files, you need a text editor application. You can use any 
  202. text editor which can handle 'TEXT' files. You can use SimpleText which 
  203. provided by Apple Computer Inc., but note that SimpleText can not handle a 
  204. TEXT file over 32KB in size. All of sample source files are smaller than 
  205. 32KB, but it might be necessary to make source files over 32KB. (I'm using 
  206. ASLEdit+ by Mr Hiroo Yamada). 
  207.     To create new profile, first, make a source text file according to 
  208. syntaxes discribed later. Since MG Profile Compiler do only simplicity error 
  209. checks, please make a source file after you understand syntaxes thoroughly. 
  210.     Next, compile your source file by MG Profile Compiler. There are 
  211. following two method to compile your source file: 
  212.  
  213.     Method-A: 
  214.       - Launch MG Profile Compiler application. 
  215.       - Choose the menu item "File>Compile". 
  216.       - Choose your source file in the Open dialog box. 
  217.  
  218.     Method-B: 
  219.       - Drag your source file and drop onto MG Profile Compiler icon. 
  220.  
  221.     There is no option related to compilation. A progress dialog will be 
  222. appear while a compiliation process is running. If MG Profile Compiler finds 
  223. an error in your source, it displays an error message dialog, and the compile 
  224. process is stopped. 
  225.  
  226.  
  227. 2.3. Error Messages
  228.  
  229.     If MG Profile Compiler finds an error, it displays following error 
  230. messages with position (a line number) in the file:
  231.  
  232.     - "file cannot open." 
  233.     - "syntax error." 
  234.     - "comment not closed." 
  235.     - "include nesting overflow." 
  236.     - "undefined directive." 
  237.     - "String too log." 
  238.     - "Resource not found." 
  239.     - "Memory low." 
  240.  
  241.  
  242. ------------------------------------------------------------------------------
  243. A. MGPC Syntax
  244. ~~~~~~~~~~~~~~
  245.  
  246. A1. Preprocessing
  247.  
  248. A1.1. Comments
  249.  
  250.     Next two notation are comments and ignored in compilation. 
  251.  
  252.         /* this is a comment (this can be consisted plural lines). */
  253.     or
  254.         // this is a comment ends with the end of line. 
  255.  
  256.     A '/*' contained in either type of comment is not regarded as the start 
  257. of a comment. A '*/' contained in second type of comment is not regarded as 
  258. the end of comment. And a '//' contained in first type of comment is not 
  259. regarded as a start of comment. 
  260.  
  261.  
  262. A1.2. File Inclusion
  263.  
  264.     Next two directive include specified source file. 
  265.  
  266.         #include    "PATH_NAME"
  267.     or
  268.         #include    <PATH_NAME>
  269.  
  270.     For both two directive, MG Profile Compiler will search specified source 
  271. file based on current directory. If you want to include source file which is 
  272. not placed in current directory, you must specify as a PATH_NAME a relative 
  273. path from current directory or a full path of the file you want to include. 
  274. Expressions for PATH_NAME will be described later. 
  275.  
  276.  
  277. A1.3. Symbol Substitutions
  278.  
  279.     Next directive defines a symbol and assign value to it. 
  280.  
  281.         #include    SYMBOL_NAME  VALUE
  282.  
  283.     After in this directive, an expression $SYMBOL_NAME$ will be replaced 
  284. with the VALUE. The VALUE may be a numeric value expression or a string 
  285. expression. If you specify $UNDEFINED_SYMBOL$ in source file, it will be 
  286. ignored (not causes an error). 
  287.  
  288.  
  289. A2. Expressions
  290.  
  291. A2.1. String Exprettions
  292.  
  293.     Next two expressions are for string data. 
  294.  
  295.         "STRING"
  296.     or
  297.         "STRING_1" "STRING_2" ...
  298.  
  299.     Characters '/*', '*/' and '//' in STRING expression are not regarded as 
  300. comment-tags. If you want to use the '"' character in a string expression, 
  301. you must specify as '\"'. If you want to use the '\' character in a string 
  302. expression, you must specify as '\\'. If you specify plural string 
  303. expressions without separater except space, tab or CR, they will be regarded 
  304. as one string. Some expressions of them can be $SYMBOL_NAME$ expression. 
  305.  
  306.  
  307. A2.2. Numeric Value Expressions
  308.  
  309.     Next expressions are for numeric data. 
  310.  
  311.         DECIMAL_VALUE
  312.     or
  313.         HEXADECIMAL_VALUE (start with '0x')
  314.  
  315.  
  316. A2.3. File Path Expressions
  317.  
  318.     The path expression for a file in the current directory is only a file 
  319. name: 
  320.  
  321.         "FILE_NAME"
  322.  
  323.     The relative path expression for a file in other directories is started 
  324. with ':', and sparating directory names with ':', as shown below:
  325.  
  326.         ":DIRETORY_NAME:FILE_NAME"
  327.  
  328.     The upper level of the current directory is expressed with '::', and the 
  329. twice upper level is expressed with ':::'. 
  330.     The absolute pass expression is started with the volume name and 
  331. separating directory names with ':', as shown below:
  332.  
  333.         "VOLUME_NAME:DIRECTORY_NAME:FILE_NAME"
  334.  
  335. NOTE: The PATH_NAME expression for an #include directive can not be a 
  336.       $SYMBOL_NAME$ expression. 
  337.  
  338.  
  339. A3. Statements
  340.  
  341. A3.1. Profile Description Statements
  342.  
  343.     Next statement creates a new profile. 
  344.  
  345.         FILE("PATH_NAME"){
  346.             RESOURCE_DESCRIPTION
  347.             RESOURCE_DESCRIPTION
  348.               :
  349.               :
  350.         };
  351.  
  352.     ("PATH_NAME") identifies a profile to create. The PATH_NAME expression 
  353. must be a relative path expression from the current directory, or an absolute 
  354. path expression. 
  355.     One source file may contain plural profile description. And one profile 
  356. description statement may contain plural resource descriptions but plural 
  357. 'vers' descriptions will be ignored except last one. Some or all resource 
  358. descriptions may be in an included file. A resource description outside 
  359. profile descriptions will cause a compile error. 
  360.  
  361.  
  362. A3.2. Resource Description Statements
  363.  
  364. A3.2.1. 'vers' Description Statements
  365.  
  366.     Next statement creates a 'vers' resource. 
  367.  
  368.         vers("RESOURCE_NAME"){
  369.             VERSION_NO ,
  370.             REVISION_NO_UPPER ,
  371.             REVISION_NO_LOWER ,
  372.             STAGE_NO ,
  373.             BUILD_NO ,
  374.             INTERNATIONAL_CODE ,
  375.             "STRING_1" ,
  376.             "STRING_2" ,
  377.         };
  378.  
  379.     ("RESOURCE_NAME") identifies a resource to create. 
  380.     This statement creates a 'vers' resource, id=1 which shows a file 
  381. version. 'vers' resource id=2 which shows a package version is copied from 
  382. 'vers' resource id=1 in MG Profile Compiler. If a profile description 
  383. statement contains plural 'vers' resource description, they are ignored 
  384. except last one. If a profile description statement contains NO 'vers' 
  385. resource description, 'vers' resource id=1 is also copied from MG Profile 
  386. Compiler. 
  387.  
  388.  
  389. A3.2.2. 'PNam' Description Statements
  390.  
  391.     Next statement creates a 'PNam' resource. 
  392.  
  393.         PNam("RESOURCE_NAME")=("REF_FILE_NAME","REF_RESOURCE_NAME"){
  394.             PROGRAM_NAME_DESCRIPTION ,
  395.             PROGRAM_NAME_DESCRIPTION ,
  396.               :
  397.               :
  398.         };
  399.  
  400.     ("RESOURCE_NAME") identifies a resource to create. 
  401.     ("REF_FILE_NAME","REF_RESOURCE_NAME") identifies an 'original' resource 
  402. from which a new resource will be derived. If the original resource 
  403. identifier is omitted, no original resource is used. If only "REF_FILE_NAME" 
  404. is ommitted, the original resource is searched in currently creating profile 
  405. (in this case, REF_RESOURCE_NAME must be previously described in the source 
  406. file). If all braced PROGRAM_NAME_DESCRIPTIONs are omitted, a new resource 
  407. will be a copy of the original resource. 
  408.     Next statements describe PROGRAM_NAME_DESCRIPTION:
  409.  
  410.         "PROG_NO:PROG_NAME_STRING"
  411.     or
  412.         +"PROG_NO:PROG_NAME_STRING"
  413.     or
  414.         -"PROG_NO:"
  415.     or
  416.         "-"
  417.  
  418.     A PROG_NO may be a 2-figure hexadecimal number. It may contain characters 
  419. '0'-'9' and 'A'-'F'. Don't use characters 'a'-'f'. 
  420.     In case of the first from, if a same PROG_NO is found in the current 
  421. 'PNam' resource (i.e. in an original resource or in previous 
  422. PROGRAM_NAME_DESCRIPTIONs), it will be replaced with PROG_NAME_STRING 
  423. described here. If a same PROG_NO is not found, a new PROG_NAME_STRING will 
  424. be added the end of current 'PNam' resource. 
  425.     In case of the second form, a new PROG_NAME_STRING will be added the end 
  426. of current 'PNam' resource nonconditionally. 
  427.     In case of the third form, if a same PROG_NO is found the current 'PNam' 
  428. resource, it will be removed from the current resource. 
  429.     The last form deinfes a separator. 
  430.  
  431.  
  432. A3.2.3. 'NNam' Description Statements
  433.  
  434.     Next statement creates a 'NNam' resource. 
  435.  
  436.         NNam("RESOURCE_NAME")=("REF_FILE_NAME","REF_RESOURCE_NAME"){
  437.             NOTE_NAME_DESCRIPTION ,
  438.             NOTE_NAME_DESCRIPTION ,
  439.               :
  440.               :
  441.         };
  442.  
  443.     ("RESOURCE_NAME") identifies a resource to create. 
  444.     ("REF_FILE_NAME","REF_RESOURCE_NAME") identifies an 'original' resource 
  445. from which a new resource will be derived. If the original resource 
  446. identifier is omitted, no original resource is used. If only "REF_FILE_NAME" 
  447. is ommitted, the original resource is searched in currently creating profile 
  448. (in this case, REF_RESOURCE_NAME must be previously described in the source 
  449. file). If all braced NOTE_NAME_DESCRIPTIONs are omitted, a new resource will 
  450. be a copy of the original resource. 
  451.     Next statements describe NOTE_NAME_DESCRIPTION:
  452.  
  453.         "NOTE_NO:NOTE_NAME_STRING"
  454.     or
  455.         +"NOTE_NO:NOTE_NAME_STRING"
  456.     or
  457.         -"NOTE_NO:"
  458.     or
  459.         "-"
  460.  
  461.     A NOTE_NO may be a 2-figure hexadecimal number. It may contain characters 
  462. '0'-'9' and 'A'-'F'. Don't use characters 'a'-'f'. 
  463.     In case of the first from, if a same NOTE_NO is found in the current 
  464. 'PNam' resource (i.e. in an original resource or in previous 
  465. NOTE_NAME_DESCRIPTIONs), it will be replaced with NOTE_NAME_STRING described 
  466. here. If a same NOTE_NO is not found, a new NOTE_NAME_STRING will be added 
  467. the end of current 'NNam' resource. 
  468.     In case of the second form, a new NOTE_NAME_STRING will be added the end 
  469. of current 'NNam' resource nonconditionally. 
  470.     In case of the third form, if a same NOTE_NO is found the current 'NNam' 
  471. resource, it will be removed from the current resource. 
  472.     The last form defines a separator. 
  473.  
  474.  
  475. A3.2.4. 'Midi' Description Statements
  476.  
  477.     Next statement creates a 'Midi' resource. 
  478.  
  479.         Midi("RESOURCE_NAME")=("REF_FILE_NAME","REF_RESOURCE_NAME");
  480.     or
  481.         Midi("RESOURCE_NAME"){
  482.             MIDI_EVENT
  483.         };
  484.  
  485.     ("RESOURCE_NAME") identifies a resource to create. 
  486.     The first form creates a new 'Midi' resource as a copy of an original 
  487. resource identified by ("REF_FILE_NAME","REF_RESOURCE_NAME"). If the 
  488. "REF_FILE_NAME" is ommitted, the original resource is searched in currently 
  489. creating profile (in this case, REF_RESOURCE_NAME must be previously 
  490. described in the source file). 
  491.     The second form creates a new 'Midi' resource which contains a specified 
  492. MIDI_EVENT. A MIDI_EVENT is hexadecimal encoded data. 
  493.  
  494.  
  495. A3.2.5. 'Mid#' Description Statements
  496.  
  497.     Next statement creates a 'Mid#' resource. 
  498.  
  499.         Mid#("RESOURCE_NAME")=("REF_FILE_NAME","REF_RESOURCE_NAME"){
  500.             Midi_RESOURCE_NAME ,
  501.             Midi_RESOURCE_NAME ,
  502.               :
  503.               :
  504.         };
  505.  
  506.     ("RESOURCE_NAME") identifies a resource to create. 
  507.     ("REF_FILE_NAME","REF_RESOURCE_NAME") identifies an 'original' resource 
  508. from which a new resource will be derived. If the original resource 
  509. identifier is omitted, no original resource is used. If only "REF_FILE_NAME" 
  510. is ommitted, the original resource is searched in currently creating profile 
  511. (in this case, REF_RESOURCE_NAME must be previously described in the source 
  512. file). If all braced MIDI_RESOURCE_NAMEs are omitted, a new resource will be 
  513. a copy of the original resource. 
  514.     MIDI_RESOURCE_NAMEs will be stored into the profile without any 
  515. proopriety verification in the compilation (It will be verified at a runtime 
  516. on MIDIGraphy). 
  517.  
  518.  
  519. A3.2.6. 'Exdf' Description Statements
  520.  
  521.     Next statement creates a 'Exdf' resource. 
  522.  
  523.         Exdf("RESOURCE_NAME")=("REF_FILE_NAME","REF_RESOURCE_NAME");
  524.     or
  525.         Exdf("RESOURCE_NAME"){
  526.             FIELD_DESCRIPTION ,
  527.             FIELD_DESCRIPTION ,
  528.               :
  529.               :
  530.         };
  531.  
  532.     ("RESOURCE_NAME") identifies a resource to create. 
  533.     The first form creates a new 'Exdf' resource as a copy of an original 
  534. resource identified by ("REF_FILE_NAME","REF_RESOURCE_NAME"). If the 
  535. "REF_FILE_NAME" is ommitted, the original resource is searched in currently 
  536. creating profile (in this case, REF_RESOURCE_NAME must be previously 
  537. described in the source file). 
  538.     The second form creates a new 'Exdf' resource which contains specified 
  539. FIELD_DESCRIPTIONs. Next statement describes FIELD_DESCRIPTION:
  540.  
  541.         FIELD_NAME,FIELD_TYPE,FIELD_BITS,FIELD_DATA
  542.  
  543.     A FIELD_NAME may be a string expression. If the FIELD_TYPE is $Exdf_val$ 
  544. or $Exdf_data$, this FIELD_NAME will appear as the item title in the System 
  545. Exclusive Editor dialog. 
  546.     A FIELD_TYPE may be one of below:
  547.  
  548.         $Exdf_fix$      : It defines a Fixed-Data field. For this type, the 
  549.                           FIELD_BITS is the number of bits for the field, and 
  550.                           the FIELD_DATA is the Fixed-data. At runtime on 
  551.                           MIDIGraphy, data in Fixed-Data field will be 
  552.                           examined to decide Exdf used to edit a system 
  553.                           exclusive event. 
  554.         $Exdf_val$      : It defines a Value-Data field. For this type, the 
  555.                           FIELD_BITS is the number of bits of the field, and 
  556.                           the FIELD_DATA is the default value of the Value-
  557.                           Data. 
  558.         $Exdf_data$     : It defines a Variable-Length-Data field. For this 
  559.                           type, the FIELD_BITS is the unit number of bits 
  560.                           (i.e. the number of bits of the field is a multiple 
  561.                           of the FIELD_BITS), and the FIELD_DATA is the 
  562.                           default value of each unit in Variable-Length-Data. 
  563.         $Exdf_sumStart$ : It defines a start point of check-sum calculation. 
  564.                           Descriptions for a FIELD_BITS and a FIELD_DATA are 
  565.                           not used. 
  566.         $Exdf_sumEnd$   : It defines a end point of check-sum calculation. 
  567.                           Descriptions for a FIELD_BITS and a FIELD_DATA are 
  568.                           not used. 
  569.         $Exdf_sum$      : It defines Check-Sum-Data field. For this type, the 
  570.                           FIELD_BITS is the number of bits of the field, and 
  571.                           the FIELD_DATA is not used. At runtime on 
  572.                           MIDIGraphy, the Check-Sum-Data will be calculated 
  573.                           accoding to next rule: The lower 7 bits of the sum 
  574.                           total for all data from start point until end point 
  575.                           and data in the Check-Sum-Data field is equal to 0. 
  576.         $Exdf_end$      : It defines End-of-Exdf field. Each Exdf resource 
  577.                           must be end with this type field. 
  578.  
  579.     These symbols are predefined by MG Profile Compiler. 
  580.  
  581. ------------------------------------------------------------------------------
  582.